iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
Software Development

2022年 JavaScript 相關應用及學習之繁體中文選系列 第 21

[2022年 JavaScript 相關應用及學習之繁體中文選] Clean Architecture 無瑕的程式碼(架構) | 心得導讀

  • 分享至 

  • xImage
  •  

導言

照英文書名翻,應該是無瑕的架構,不過書商可能為了銷量,所以借了名稱。

架構

本書分為六個部份
第一個部份講 design 設計與架構 architecture 的不同。
第二個部份講範式(結構化程式設計在直接的控制移轉上加上規範):
結構化程式設計
物件導向
函數式

第三個部份講設計原則 
SRP 單一職責
OCP 開放-封閉
Liskov 替換
ISP 介面隔離
DIP 依賴反向

第四個部份講元件: 內聚性 耦合性
第五個部份講架構:獨立性 邊界的畫線及剖折 策略和層級 業務規則…
第六個部份講細節:資料庫 Web 框架 案例 …

摘要

簡介

要獲得一個寫程式的工作並不需要大量的知識和技能。高中的孩子也都在做。大學裡的年輕男女只是拼湊幾行 PHP 或 Ruby 就開始做起數十億美元的生意。世界各地的辦公隔間裡坐滿了許多初級程式設計師,在追蹤系統而導致的龐大工作議題及與之帶來的大量需求文件中,他們辛苦地用蠻力讓他們的系統能夠「工作」。他們產出的程式碼可能不太好;但能夠工作。它是能夠工作的,因為讓某些東西工作(如果只工作一次)並沒有那麼難。
正確的做法卻完全是另一回事。要讓軟體正確是困難的。它需要大多數年輕程式設計師尚未獲得的知識和技能。這需要大多數程式設計師沒有花時間去做的思考和洞察力。這需要大多數程式設計師從未意識到的紀律和忠誠奉獻。在大多數情況下,對於工藝(craft)和成為專業人士的渴望需要的是激情。
當你讓軟體正確時,會發生一些奇蹟:你不需要大量的程式設計師來持續讓它工作。 你不需要大量的需求文件和追蹤系統所牽涉到的龐大工作議題。你不需要分布全球的 眾多辦公隔間和全年無休地寫程式。
當軟體以正確的方式完成時,就只需要建立和維護它的一小部分人力。修改變得簡單又迅速。缺陷是少之又少。花費的精力是最少的,功能和靈活性卻是最大的。
是的,這個願景聽起來有些烏托邦。但我去過那兒,我親眼見過它發生。我曾在專案 的系統設計和架構方面下過工,使它變得易於編寫和維護。我所經歷的專案只需要預 期人力的一小部分。我在缺陷率極低的系統上工作。我看過良好的軟體架構在系統、 專案和團隊中的非凡效果。我去過應許之地(樂土)。

總結

難易度

⭐⭐⭐⭐

自備技能

程式撰寫能力

適合對象

中階以上

心得

作者依循一貫的寫作方式,將 architecture 架構這件事由淺入深講述完整。


上一篇
[2022年 JavaScript 相關應用及學習之繁體中文選] 人月神話 | 心得導讀
下一篇
[2022年 JavaScript 相關應用及學習之繁體中文選] 函數式程式設計 | 心得導讀
系列文
2022年 JavaScript 相關應用及學習之繁體中文選31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言